#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
//typedef struct st_type
//{
//	int i;
//	int a[0];
//}type_a;
//int main()
//{
//	type_a* p = (type_a*)malloc(sizeof(type_a) + 5 * sizeof(int));
//	if (p == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	p->i = 100;
//	int j = 0;
//	for (j = 0; j < 5; j++)
//	{
//		p->a[j] = j;
//	}
//	printf("%d\n", p->i);
//	for (j = 0; j < 5; j++)
//	{
//		printf("%d ", p->a[j]);
//	}
//	free(p);
//	p = NULL;
//	return 0;
//}
typedef struct st_type
{
	int i;
	int* pa;
}type_a;
int main()
{
	type_a* p = (type_a*)malloc(sizeof(type_a));
	if (p == NULL)
	{
		perror("malloc 1");
		return 1;
	}
	p->i = 100;
	int* str= (int*)malloc(sizeof(int) * 5);
	if (str == NULL)
	{
		perror("malloc 2");
		return 1;
	}
	p -> pa = str;
	int j = 0;
    for (j = 0; j < 5; j++)
	{
		p->pa[j] = j;
	}
	printf("%d\n", p->i);
    for (j = 0; j < 5; j++)
	{
		printf("%d ", p->pa[j]);
	}
	free(p);
	p = NULL;
	free(str);
	str = NULL;
	return 0;
}